package xyz.naokeziteng.data_structure;

/**
 * @author hawk
 * @date 2022/7/27
 * @desc 队列
 **/
public interface Queue<E> {

    /**
     * 入队
     *
     * @param e 元素
     */
    void enqueue(E e);

    /**
     * 出队
     *
     * @return 元素
     */
    E dequeue();

    /**
     * 第一个元素
     *
     * @return 元素
     */
    E getFront();

    /**
     * 元素数量
     *
     * @return 数量
     */
    int getSize();

    /**
     * 是否为空
     *
     * @return 布尔
     */
    boolean isEmpty();
}
